Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>GFA-BASIC</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/GFA-BASIC"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-GFA-BASIC rootpage-GFA-BASIC skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">GFA-BASIC</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr">
<p><b>GFA-BASIC</b> ist ein <a href="Dialekt" title="Dialekt">Dialekt</a> der <a href="Programmiersprache" title="Programmiersprache">Programmiersprache</a> <a href="BASIC" title="BASIC">BASIC</a>, entwickelt von <a href="Frank_Ostrowski" title="Frank Ostrowski">Frank Ostrowski</a>. Die erste Version wurde 1986 vollendet und für den <a href="Atari_ST" title="Atari ST">Atari ST</a> herausgebracht. Mitte und Ende der 1980er Jahre wurde die Programmiersprache für diesen Heimcomputer sehr populär, auch weil das ST BASIC, das bei den Computern mitgeliefert wurde, recht fehlerhaft und beschränkt war. Später wurden auch Portierungen für den <a href="Commodore_Amiga" class="mw-redirect" title="Commodore Amiga">Commodore Amiga</a>, <a href="DOS" class="mw-redirect" title="DOS">DOS</a> und <a href="Microsoft_Windows" title="Microsoft Windows">Windows</a> vermarktet.
</p><p>Offiziell sind Interpreter und zugehöriger Compiler, wie sie seinerzeit von der Firma GFA-Systemtechnik vertrieben wurden, heute nicht mehr verfügbar. Von kleinen Entwicklergemeinden gepflegt, existieren jedoch Weiterentwicklungen unter dem Namen GFA-Basic.
</p>

<div class="mw-heading mw-heading2"><h2 id="Eigenschaften">Eigenschaften</h2></div>
<p>Die Sprache übernimmt wie viele andere moderne BASIC-Dialekte die <a href="Kontrollstruktur" title="Kontrollstruktur">Kontrollstrukturen</a> von <a href="Pascal_(Programmiersprache)" title="Pascal (Programmiersprache)">Pascal</a> und <a href="C_(Programmiersprache)" title="C (Programmiersprache)">C</a>. Damit erlaubt GFA-BASIC strukturiertes Programmieren und zum Beispiel den <a href="Kontrollstruktur" title="Kontrollstruktur">Verzicht auf den Sprungbefehl „Goto“</a>.
</p><p>Es fehlen gänzlich die klassischen Zeilennummern, und anfangs war pro Zeile nur ein Befehl erlaubt. In späteren Versionen gab es einen Befehlsseparator, um mehrere Befehle in einer Zeile unterzubringen. Als Sprungmarken dienen analog zu den meisten anderen Programmiersprachen „Labels“, also Zeilen, die einen Sprungmarkennamen enthalten.
</p><p>Unterprogramme werden analog zu Pascal als Prozeduren und Funktionen definiert, wobei Funktionen im Gegensatz zu Prozeduren einen Rückgabewert haben. Beide akzeptieren Parameter, wahlweise per Wert- oder auch per Referenz-Übergabe. Lokale Variablen sind ebenfalls möglich.
</p><p>Die Datentypen umfassen bei GFA-Basic für Windows 32-Bit die einfachen Typen: <a href="Boolean" title="Boolean">Boolean</a>, <a href="Byte" title="Byte">Byte</a>, <a href="Integer_(Datentyp)" title="Integer (Datentyp)">Short</a>, Card, <a href="Integer_(Datentyp)" title="Integer (Datentyp)">Integer</a>, <a href="Integer_(Datentyp)" title="Integer (Datentyp)">Long</a>, <a href="Handle" title="Handle">Handle</a>, Large, <a href="Gleitkommazahl" title="Gleitkommazahl">Float</a>, <a href="Einfache_Genauigkeit" title="Einfache Genauigkeit">Single</a>, <a href="Zeiger_(Informatik)" title="Zeiger (Informatik)">Pointer</a>, Currency, <a href="Kalenderdatum" title="Kalenderdatum">Date</a>, <a href="Zeichenkette" title="Zeichenkette">String</a>, Fixed-Length-String, <a href="Dynamische_Typisierung" title="Dynamische Typisierung">Variant</a>; Strukturen (= Types) sind ebenfalls definierbar.
</p><p>Editor und Interpreter sind ein einziges Programm, welches bereits bei der Programmierung Fehler meldet und Befehle vervollständigt. Ein Run-Only-Interpreter kann den Quellcode unabhängig vom eingebauten Interpreter ausführen. Der GFA-Compiler für das GFA-Basic erzeugt aus dem Quellcode schnellere, ausführbare Programme.
</p>
<div class="mw-heading mw-heading2"><h2 id="Trivia">Trivia</h2></div>
<ul><li>Die Version 3.x für Windows ermöglicht auch einzeilige Fallunterscheidungen und die Definition von mehrzeiligen Funktionen.</li>
<li>Eine kostenfreie Version für Projekte bis zu 1000 Zeilen war u.&nbsp;a. über die „Goldene Serie“ von Data Becker zumindest in Deutschland verfügbar.</li>
<li>Durch Zugriff auf das Windows-API lassen sich mit der 16-Bit-Variante für Windows 3.x noch heute Programme schreiben und kompilieren, die auf alten 32-Bit-Windows-Systemen lauffähig sind.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Geschichte">Geschichte</h2></div>
<p>Seit <a href="1986" title="1986">1986</a> existieren auch Versionen für <a href="MS-DOS" title="MS-DOS">MS-DOS</a>, <a href="Windows" class="mw-redirect" title="Windows">Windows</a> und <a href="Amiga" title="Amiga">Amiga</a>-<a href="Betriebssystem" title="Betriebssystem">Betriebssysteme</a>. Für Windows ab Windows 3.0 existieren ein 16-Bit-Interpreter und Compiler sowie ein 32-Bit-Interpreter und Compiler, womit kompakte ausführbare Dateien erzeugt werden können.
</p><p>GFA-Basic war in den erfolgreichsten Jahren des <a href="Atari_ST" title="Atari ST">Atari ST</a> sehr verbreitet, nicht zuletzt wegen des für die damalige Zeit komfortablen Editors, der Neuerungen wie etwa <a href="Code-Faltung" title="Code-Faltung">Code-Faltung</a> einführte. Wegen der aus Betriebssystem-Sicht unsauberen Systembibliotheken sowie der nicht in die übliche <a href="Graphics_Environment_Manager" title="Graphics Environment Manager">GEM</a>-Benutzeroberfläche integrierten Entwicklungsumgebung verlor GFA-Basic in den Mittneunzigern an Popularität zugunsten von <a href="Turbo_C" title="Turbo C">Turbo&nbsp;C</a>, <a href="Pure_C" title="Pure C">Pure&nbsp;C</a> und <a href="Modula-2" title="Modula-2">Modula-2</a>.
</p><p>Die Entwicklung auf der ATARI-Seite wurde von offizieller Seite nach Version 3.6 TT eingestellt, jedoch von engagierten Programmierern ohne Kenntnis des Quelltexts weitergeführt, indem nach und nach die Module der Bibliothek ausgetauscht wurden und der Interpreter und die IDE binär gepatcht wurden. Die inoffizielle und letzte eigenständige Weiterentwicklung des GFA-Entwicklungspaketes stellen die RUN!Lib, der RUN!Only-Interpreter von <i>RUN! Software</i> sowie GBE<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> von <i>Lonny Pursell</i> dar, letzteres wird Stand 2022 noch gepflegt.
</p><p>GFA-Basic wurde als 16-Bit- (letzte Version: 4.38) und als 32-Bit-Version (letzte Version: 2.30 vom 25.&nbsp;Juli 2001) für die Programmierung unter Windows bereitgestellt.
</p><p>Seit Ende 2002 reagiert <i>GFA Software Technologies</i> nicht mehr auf Bestellungen und Kundenanfragen, im Sommer 2005 wurde die offizielle Mailingliste ohne Vorankündigung abgeschaltet.
</p><p>Seit Ende 2006 führt eine kleine Gruppe die Weiterentwicklung der Windows-Version (32-bit) durch. Bei Google entstanden neue Seiten speziell für GFA-BASIC 32 und GFA-BASIC 16.
</p>
<div class="mw-heading mw-heading2"><h2 id="Siehe_auch">Siehe auch</h2></div>
<ul><li><a href="BASIC" title="BASIC">BASIC</a></li>
<li><a href="Turbo-BASIC_XL" title="Turbo-BASIC XL">Turbo-BASIC XL</a></li>
<li><a href="Atari_ST" title="Atari ST">Atari ST</a></li>
<li><a href="Omikron_BASIC" title="Omikron BASIC">Omikron BASIC</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li>Bodo Bollow, Klaus Reimann: <i>Die große GFA-Basic Programm-Sammlung</i>, Heim-Verlag, 1986, ISBN 3-923250-48-7</li>
<li>Uwe Litzkendorf: <i>Das große Gfa BASIC Buch</i>, 3. Auflage, <a href="Data_Becker" title="Data Becker">Data Becker</a>, 1987, ISBN 3-89011-222-6</li>
<li>Ekkehard Kaier, Marc Atkin, Peter Riswick: <i>GFA-Basic-Wegweiser-Komplettkurs</i>, Springer-Verlag, 1988, ISBN 978-3-528-04551-7, ISBN 978-3-663-14109-9</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><style data-mw-deduplicate="TemplateStyles:r261891140">
/* start https://de.wikipedia.org/ */


.mw-parser-output .webarchiv-memento a{color:inherit}


/* end https://de.wikipedia.org/ */
</style><a rel="nofollow" class="external text" href="https://web.archive.org/web/20031216035228/http://www.gfasoft.gfa.net/">Offiziellen Website (offline seit 2002)</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> vom 16. Dezember 2003 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>)</li>
<li><a rel="nofollow" class="external text" href="http://gfabasic.net/">Modernisierter Nachfolger "GBE" für Atari ST/TOS-Systeme</a></li>
<li><a rel="nofollow" class="external text" href="http://preverdy.free.fr/preverdy/kg2j/index.html">Atari GFA Basic 3 (LST format) to Java 1.0 converter</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20170311162137/http://gfa.atari-users.net/atari/">Inoffizielle Webseite des GFA-Basic (Atari ST)</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> vom 11. März 2017 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>)</li>
<li><a rel="nofollow" class="external text" href="http://x11-basic.sourceforge.net/">X11-Basic</a> — Interpreter und Compiler mit Grafik und einer Syntax ähnlich der <a href="Atari_ST" title="Atari ST">Atari ST</a> Implementation des <i>GFA Basic</i>.</li>
<li><a rel="nofollow" class="external free" href="http://ebook.pixas.de/">http://ebook.pixas.de/</a> Große Sammlung von freigegebenen GFA-Büchern im PDF-Format für Atari / Amiga / MS-DOS</li></ul>
<p>Umfangreiche Sammlungen von Programmierbeispielen sind frei für die Atari- und Windows-Versionen verfügbar:
</p>
<ul><li><a rel="nofollow" class="external text" href="http://www.gfawhelp.gfa.net/main.htm">www.gfawhelp.gfa.net</a> - 16 und 32 Bit, umfangreich, wird aber evtl. bald abgeschaltet (englisch)</li>
<li><a rel="nofollow" class="external text" href="http://www.rowalt.de/pc/gfabasic/listd.htm">www.rowalt.de/pc/gfabasic/listd.htm</a> - 16-Bit, sehr umfangreiche Listing-Sammlung (deutsch und englisch)</li>
<li><a rel="nofollow" class="external text" href="http://www.joehurst.de/">www.joehurst.de</a> 16- und 32-Bit für Windows (deutsch)</li>
<li><a rel="nofollow" class="external text" href="http://gfa-basic.liebenstein.de/index.html">gfa-basic.liebenstein.de</a> (kein update mehr seit 2005(?))</li></ul>
<p>Die Windows-Versionen: auf den Seiten gibt es entsprechende Downloads der Interpreter sowie neue Informationen, Patches, Software etc.
</p>
<ul><li><a rel="nofollow" class="external text" href="http://gfabasic16.googlepages.com/">GFA-BASIC 16 http://gfabasic16.googlepages.com/</a></li>
<li><a rel="nofollow" class="external text" href="http://gfabasic32.googlepages.com/">GFA-BASIC 32 http://gfabasic32.googlepages.com/</a></li>
<li><a rel="nofollow" class="external text" href="https://gfabasic32.blogspot.com/">GFA-BASIC 32 https://gfabasic32.blogspot.com/</a></li></ul>
<p>Konverterprogramm für GFA-WIN 16-Bit Sources nach VB.Net
</p>
<ul><li><a rel="nofollow" class="external text" href="https://github.com/codeprof/GFA-Basic-to-VB.Net-converter">GFA-Basic-to-VB.Net-converter https://github.com/codeprof/GFA-Basic-to-VB.Net-converter</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external autonumber" href="http://gfabasic.net/">[1]</a></span>
</li>
</ol>
<div class="hintergrundfarbe1 rahmenfarbe1 navigation-not-searchable normdaten-typ-s" style="border-style: solid; border-width: 1px; clear: left; margin-bottom:1em; margin-top:1em; padding: 0.25em; overflow: hidden; word-break: break-word; word-wrap: break-word;" id="normdaten">
<div style="display: table-cell; vertical-align: middle; width: 100%;">
<div>
Normdaten&nbsp;(Sachbegriff): <a href="Gemeinsame_Normdatei" title="Gemeinsame Normdatei">GND</a>: <span class="-print"><a rel="nofollow" class="external text" href="https://d-nb.info/gnd/4192747-3">4192747-3</a></span> </div>
</div></div></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-03-15" href="https://de.wikipedia.org/wiki/?title=GFA-BASIC&amp;oldid=254220716">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>